{{tag>Bionic Xenial Focal}}

====== MSMTP ======

 **msmtp** est un client [[https://fr.wikipedia.org/wiki/Simple_Mail_Transfer_Protocol|SMTP]] très simple et facile à configurer pour l'envoi de courriels. \\
Son mode de fonctionnement par défaut consiste à transférer les courriels au serveur SMTP que vous aurez indiqué dans sa configuration. Ce dernier se chargera de distribuer les courriels à leurs destinataires.\\
Il est entièrement compatible avec sendmail, prend en charge le transport sécurisé TLS, les comptes multiples, diverses méthodes d’authentification et les notifications de distribution.\\

**msmtp** est la solution idéale si vous avez besoin que votre serveur vous envoie les courriels de notifications (taches [[cron|Programmer des tâches avec CRON]], [[logwatch|Logwatch]] ou autre) sans avoir à mettre en place une solution plus lourde comme:
  * [[:postfix_systeme_satellite]]
  * [[:exim4-satellite]]
 
===== Pré-requis =====
 
  * Avoir une connectivité à l'Internet pleinement fonctionnelle.
 
===== Installation =====
 
Pour installer ce logiciel, il suffit d'[[:tutoriel:comment_installer_un_paquet|installer les paquets]] **[[apt>msmtp]]** et **[[apt>msmtp-mta]]**.
 
Soit en ligne de commande :
<code>sudo apt install msmtp msmtp-mta</code>

===== Configuration =====
 
Pour configurer l'envoi de courriels au niveau du système, [[:tutoriel:comment_modifier_un_fichier|ouvrez le fichier]] **/etc/msmtprc** en modification puis renseignez les paramètres de connexion à votre compte de courriel en vous inspirant de l'exemple ci-dessous :
<file>
# Valeurs par défaut pour tous les comptes.
defaults
auth           on
tls            on
tls_starttls   on
tls_trust_file /etc/ssl/certs/ca-certificates.crt
logfile        /var/log/msmtp

# Exemple pour un compte Gmail
account        gmail
auth           plain
host           smtp.gmail.com
port           587
from           username@gmail.com
user           username
password       XXXXXXXXXX

# Exemple pour un compte GMX
account        gmx
host           mail.gmx.com
port           587
from           username@gmx.com
user           username@gmx.com
password       XXXXXXXXXX
tls_nocertcheck

# Exemple pour un compte OVH
account        ovh
host           XXXXXX.ovh.net
port           465
from           username@example.com
user           username@example.com
password       XXXXXXXXXX

# Exemple pour un compte Infomaniak
account        infomaniak
host           mail.infomaniak.com
port           587
from           username@example.com
user           username@example.com
password       XXXXXXXXXX

# Exemple pour un serveur de test MailHog
account        mailhog
auth           off
tls            off
tls_starttls   off
host           localhost
port           1024
from           username@example.com

# Définir le compte par défaut
account default : gmail
</file>

<note tip>
Pour OVH dans les paramètres généraux, pensez à désactiver starttls :
<file> tls_starttls   off </file> </note>


Si vous voulez configurer l'envoi de courriels au niveau d'un utilisateur, créez le fichier **.msmtprc** dans le dossier personnel de l'utilisateur concerné. Ce fichier ne devra être accessible en lecture et écriture qu'à l'utilisateur :
<code>chmod 600 .msmtprc</code>



<note tip>
Il faut vérifier que le système utilise bien msmtp pour l'envoi de mail :
<code>
ls -la /usr/sbin/sendmail
</code>
Qui doit retourner :
<code>
lrwxrwxrwx 1 root root 12 nov.  28  2016 /usr/sbin/sendmail -> ../bin/msmtp
</code>
Si ce n'est pas le cas, [[:tutoriel:comment_installer_un_paquet|réinstallez le paquet]] **[[apt>msmtp-mta]]**.
</note>

===== Test de fonctionnement =====
 
<code>echo 'message' | mail user@domain.com</code>

Si cela ne fonctionne pas, essayer :

<code>echo 'message' | msmtp user@domain.com</code>

Vérifier sa boîte de réception.

<note tip>
Si la commande ''mail'' ne fonctionne pas, [[:tutoriel:comment_installer_un_paquet|installez le paquet]] **[[apt>bsd-mailx]]** :
<code>sudo apt install bsd-mailx</code>
</note>
<note tip>
Si vous recevez ce message d'erreur :
''send-mail: impossible d'écrire dans le journal /var/log/msmtp.log : erreur d'ouverture de fichier: Permission non accordée''
la solution est [[http://blogettrux.free.fr/index.php?2020/11/23/22/00/09-config-msmtp | résumée sur cette page en français.]] et [[https://askubuntu.com/questions/878288/msmtp-cannot-write-to-var-log-msmtp-msmtp-log| précisée sur sa source en anglais ]]
Testé avec succès sur Ubuntu 20.04.
</note>
===== Désinstallation =====
 
Pour supprimer cette application, il suffit de [[:tutoriel:comment_supprimer_un_paquet|supprimer son paquet]]. Selon la méthode choisie, la configuration globale de l'application est conservée ou supprimée. Les journaux du système, et les fichiers de préférence des utilisateurs dans leurs dossiers personnels sont toujours conservés.
 
===== Voir aussi =====
 
  * [[tutoriel:comment_envoyer_un_mail_par_smtp_en_ligne_de_commande|Comment envoyer un courriel par smtp en ligne de commande]]
  * **(en)** [[https://marlam.de/msmtp/msmtp.html|La documentation officielle de MSMTP]]

 
----
 
//Contributeurs principaux : [[utilisateurs:bruno|bruno]], [[utilisateurs:autre_identifiant|nom ou pseudo autre]].//
